Skip to content

Guide · Agent skill

How to use the Scientific Visualization agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The scientific-visualization skill is a set of instructions and helper scripts that an AI agent loads so it can design and review scientific figures made with Matplotlib, Seaborn or Plotly. It is for researchers preparing figures for a manuscript, poster or slides, analysts who want accessibility and uncertainty checks, and students learning to present data without distorting it. After this guide you will know how to install the skill, ask for it in plain language, and what it will and will not do for your figures.

Scientific Figure VisualizationK-Dense-AI/scientific-agent-skills · MIT

Quick start

  1. 1Download the ZIP. Download the skill ZIP from this page. The ZIP contains SKILL.md, the scripts folder, the assets folder and the references folder.
  2. 2Unzip into a skills folder. Unzip it into ~/.claude/skills/ for personal use, or into .claude/skills/ inside a project for project-only use.
  3. 3Or upload it in the Claude apps. In the Claude apps, open Settings, go to Capabilities, then Skills, and upload the skill.
  4. 4Ask for a figure task in plain words. Describe the figure, the medium, the data structure and any uncertainty or missing values. Say whether you know the target journal.
  5. 5Review the checks before you submit. Read the contrast, metadata and export-plan results, then confirm journal requirements on the official live page yourself.

What the skill makes the agent do

Once installed, the agent plans charts so they show the data truthfully. It checks axis choices, uncertainty labels, how missing data is displayed, and colour contrast, and it warns against encodings that could mislead a reader.

The skill can write plotting code that uses bundled style presets and colour palettes, check image metadata and palette contrast, and produce an export plan with figure sizes for selected journal profiles. The journal profiles are dated planning snapshots, not verified journal requirements, so the agent is instructed to confirm the live guidance itself.

  • Figure design and multi-panel layouts
  • Uncertainty and missing-data displays
  • Colour and contrast review
  • Image metadata validation
  • Journal export planning (a plan, not a compliance check)

Install the skill from the ZIP download

Download the ZIP for the skill from this page. Then choose one of two routes.

For a personal install, unzip the download into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder. In both cases the skill folder should contain SKILL.md at its top level.

If you use the Claude apps instead, open Settings, go to Capabilities, then Skills, and upload the skill there.

  • Personal: unzip into ~/.claude/skills/
  • Project only: unzip into .claude/skills/ inside the project
  • Claude apps: Settings → Capabilities → Skills, then upload

Trigger the skill with natural requests

You do not need a special command. Describe the figure task in plain language and mention the figure-related work, such as design, layout, uncertainty, colour, or export. The skill's description covers figure design, multi-panel layouts, uncertainty and missing-data displays, colour and contrast review, image metadata validation and journal export planning.

Give the agent the details it needs. The skill asks for the audience and medium, the exact journal and figure type if you have them, the units, how many replicates there are, how uncertainty is defined, and any filtering or normalization applied to the data. If you do not know the publisher requirements, ask for a provisional general figure and the agent will mark publisher choices as pending verification.

  • "Review this Matplotlib plot of treatment response over time for honest axes and uncertainty labels."
  • "Make a three-panel Seaborn figure of my subject-level data with colour-blind-safe palettes."
  • "Check whether the colours in this figure have enough contrast at the size it will print."
  • "Plan the export sizes for a manuscript figure. I do not yet know the journal's rules."

Use the style pattern for Matplotlib figures

When the agent writes plotting code, it uses Matplotlib's object-oriented API and temporary style contexts so that style settings stay scoped to one figure. The example below is the pattern from the skill. Replace x and y with your own data.

The skill says to use layout='constrained' rather than calling tight_layout() afterward, because tight_layout() disables constrained layout. It also advises against bbox_inches='tight' when exact physical dimensions matter.

import matplotlib.pyplot as plt from style_presets import style_context with style_context("default", palette_name="okabe_ito_on_white"): fig, ax = plt.subplots( figsize=(89 / 25.4, 60 / 25.4), layout="constrained", ) ax.plot(x, y, marker="o", label="Observed") ax.set(xlabel="Time (hours)", ylabel="Response (unit)") ax.legend()

Show uncertainty and repeated measures honestly

Seaborn's line plots can hide dependence between repeated measurements. The skill asks the agent to keep the subject or sample identifier. To show individual trajectories, it uses Seaborn's units argument with estimator=None, which draws one line per sampling unit. For an aggregate uncertainty band, the skill says to compute intervals from the actual independent sampling unit and plot them explicitly, because a row-wise confidence interval does not account for within-subject dependence.

Seaborn drops missing rows before drawing lines, so it can bridge a gap. For visible gaps, the skill recommends explicit NaNs or masks in Matplotlib, or drawing observed segments separately.

  • Name the interval: SD, SE, CI, percentile or posterior.
  • State n and the unit of replication in the caption.
  • Keep missing, zero, censored and excluded values distinct.
sns.lineplot( data=frame, x="time", y="response", hue="treatment", style="treatment", markers=True, errorbar=("ci", 95), n_boot=5000, seed=20260723, ax=ax, )

Plotly: interactive versus static output

The skill treats interactive and static outputs as separate deliverables. Use write_html() for interaction and write_image() or plotly.io.write_images() for static files. Static formats listed by the skill are PNG, JPEG, WebP, SVG and PDF.

Static export needs Kaleido and a compatible Chrome or Chromium installation, because the current Kaleido release does not bundle Chrome. The skill notes that width, height and scale control pixel size, and that scale=3 is not inherently 300 DPI. For vector markers, it suggests render_mode='svg' on Plotly Express plots with many rows.

  • Hover text is not a substitute for labels, alt text or an accessible data table.
  • Fully offline exports need local copies of any external MathJax, topojson or tile assets.

Read the outputs and check them yourself

The skill asks the agent to inspect delivered files rather than trusting plotting defaults. Ask for the palette contrast check, the image metadata check and the export plan, then review each one. The reference notes say a named colour-blind-safe palette does not guarantee an accessible rendered figure, because background, line thickness, adjacency, text and category count all matter.

Treat the export plan as a planning aid. Confirm the target journal's current instructions on its official page before submission.

  • Palette contrast: check at the rendered size.
  • Image metadata: validate what the file actually contains.
  • Export plan: verify every size and format against the live journal page.

What people use it for

  • Designing a multi-panel manuscript figure with consistent axis limits across panels.
  • Plotting repeated-measures data with subject-level trajectories and honest uncertainty bands.
  • Checking a Matplotlib or Seaborn figure for colour contrast and missing-data display before a poster.
  • Drafting an export plan with figure sizes for a journal profile, then verifying it against the live guidelines.

Frequently asked questions

How do I install the scientific visualization agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, you can instead upload the ZIP under Settings, then Capabilities, then Skills.

Is the scientific-visualization skill free to use?

The skill is published under the MIT licence, as stated on this page. Check the licence file in the download for the full terms.

What does the scientific visualization skill need to run?

It needs Python 3.11 or newer, and uv for the pinned examples. Matplotlib is required, and Seaborn is needed for Seaborn examples. Pillow or pypdf load only when needed, and Plotly static export also needs Kaleido and a compatible Chrome or Chromium.

Does the skill make my journal submission compliant?

No. The skill explicitly does not certify compliance. Its journal profiles are dated planning snapshots, so a person must check the target journal's current instructions before submission.

Does the skill use the internet or run code on my computer?

It runs scripts, but the bundled command-line tools are network-free according to the source. They load Matplotlib, Pillow or pypdf only when needed.

Why does my Plotly static export fail?

Static export with Kaleido needs a compatible Chrome or Chromium installation, because the current Kaleido release does not bundle Chrome. Install a compatible browser, then try the export again.

Can the skill edit raw experimental images to make them look better?

No. The skill forbids altering, hiding, inventing or selectively enhancing data to improve a figure, and it asks the agent to disclose any whole-image adjustments.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are a researcher, analyst or student who wants an AI agent to help you build and review scientific figures that show the data honestly, with uncertainty, missing values and contrast handled deliberately. Pick something else if you need a certified journal compliance check, or if you want automatic editing of raw experimental images, which the skill is built to refuse.

Download the skill