Radiology Figure logo

Radiology Figure

CommunityPopular
huang-sir1
radiology-figure

Produce publication-quality white-background academic figures for Radiology (RSNA), Nature-portfolio/npj, European Radiology, NEJM, Science, or Lancet-family venues with Python (matplotlib): ROC curves, calibration plots, decision-curve analysis, forest/SROC plots, Kaplan-Meier curves with numbers-at-risk, Bland-Altman, heatmaps, radiogenomics plots, graphical/visual abstracts, and annotated imaging panels. Uses The Lancet Digital Health guide as the default Lancet-series proxy. Use when the user wants figures, plot cleanup, figure-set planning, journal-specific figure formatting, or overlap/crowding QA. Outputs editable vector (.svg/.pdf) plus 300+ dpi raster, enforces de-identification and journal typography, and never invents data points.

Overview

Publisherhuang-sir1
Repositoryradiology-skills
Skill nameradiology-figure
Stars
1.7K
Forks
17
Bundled files
11
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 11 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by huang-sir1 on GitHub. Read the source before you install it.

Installation

Install the Radiology Figure AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/huang-sir1/radiology-skills.git /tmp/radiology-skills
mkdir -p .claude/skills
cp -r /tmp/radiology-skills/radiology-skills/modules/radiology-figure .claude/skills/radiology-figure
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Radiology Figure in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Radiology Figure on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Radiology Figure is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Radiology Publication Figures

Use this skill to build figures that pass Radiology's technical and editorial bar: correct file format and resolution, legible typography, color-blind-safe palettes, honest axes, and the specific chart types imaging-AI reviewers expect (ROC, calibration, decision-curve, forest/SROC, Kaplan-Meier, Bland-Altman), plus de-identified annotated imaging panels.

Core stance

  • Vector first. Primary output is editable .svg (or .pdf); secondary is a ≥ 300 dpi raster (TIFF/PNG). Keep text as text (svg.fonttype='none'), not outlines, so editors can re-typeset.
  • One figure, one message. Each panel answers one question; no two panels duplicate it. Panels are labelled A, B, C (Radiology-family) or a, b, c (Nature-family — the case is venue-dependent, never mixed within one manuscript; see "When to open extra files").
  • Honest graphics. Axes start where the data demand (don't truncate to exaggerate); show uncertainty (CI bands, error bars); state n.
  • De-identify every image. No PHI burned into pixels, no faces/identifiers; scrub DICOM overlays; report windowing (WL/WW) and add a scale bar where size matters.
  • Match the journal. Sans-serif (Arial/Helvetica), figure width to column — Radiology-family single ~85 mm / double ~170 mm, or Nature-family single 89 mm / double 183 mm (max height 170 mm) — adequate font size at final print size (≈ 7–9 pt min). Confirm the target venue before sizing the first figure.
  • Never fabricate data. Plot only supplied/loaded values; mark simulated/example data clearly.

When to use

  • Statistical figures: ROC (+ DeLong annotation), calibration, decision-curve, forest, SROC, Kaplan-Meier (with numbers-at-risk), Bland-Altman, box/violin, heatmaps/clustermaps.
  • Radiogenomics: MOFA/factor plots, deconvolution stacked bars, habitat maps, correlation heatmaps.
  • Imaging panels: multi-row montages, before/after, arrows/insets, windowing labels, scale bars.
  • Flow diagrams: CONSORT / STARD / PRISMA patient-selection diagrams.

When to open extra files

FileOpen when
references/radiology-figure-guidelines.mdFile format, resolution, size, fonts, color, panel labelling, de-identification rules
references/chart-types.mdChoosing/parameterising the right statistical chart (ROC, calibration, DCA, forest, KM, Bland-Altman, heatmap)
references/imaging-panels.mdBuilding montages: windowing, arrows, insets, scale bars, anonymisation, panel layout
references/api.mdThe matplotlib rcParams preamble, color palette, and reusable helper functions (ROC/calibration/forest/KM)
references/design-theory.mdTypography, layout grid, color-blind-safe palettes, anti-redundancy, accessibility
references/color-systems.mdPicking ONE palette (Okabe-Ito / NPG / Morandi) and mapping color→meaning so every figure matches
references/survival-figures.mdKaplan-Meier integrity (curve ↔ numbers-at-risk ↔ censoring), numbers-at-risk done right, time-dependent (IPCW) ROC/calibration/DCA, incremental-value framing
references/figure-set-consistency.mdUnifying palette/fonts/axes across all figures, and cross-validating every figure number against the manuscript tables and data before export
references/nature-figure-spec.mdTarget is a Nature-portfolio venue instead of Radiology — column widths (89/183 mm), lowercase panel letters, RGB, legend word cap, Extended Data/Source Data display-item split
references/figure-intent-and-render-qa.mdFull figure set planning, crowded/colliding labels, DCA/KM/heatmap layout problems, final-size render review, source-data crosswalk, or premium academic visual polish
references/journal-family-visual-style.mdTarget journal family is known, the user supplied author-guide PDFs/classic articles, or the figure set needs Nature/npj or European Radiology visual taste

Workflow

  1. Confirm the target venue (Radiology-family default, or Nature-family → nature-figure-spec.md) before sizing the first figure — column widths and panel-letter case differ and are painful to change after the set is built.
  2. For venue-specific visual taste, open journal-family-visual-style.md and apply the target family's panel lettering, legend density, graphical abstract, table, and source-data conventions.
  3. For full figure sets or layout-sensitive figures, open figure-intent-and-render-qa.md and create the figure intent table plus source-data crosswalk before drawing.
  4. Pick the chart for the message (chart-types.md). Discrimination → ROC; reliability → calibration; clinical value → decision-curve; agreement → Bland-Altman; time-to-event → Kaplan-Meier; meta-analysis → forest/SROC; whole-study summary → graphical abstract.
  5. Start the script with the rcParams preamble and palette from api.md.
  6. Build the panel(s) with helper functions; add CI bands, n, and clear axis labels with units; label panels via panel_letter()/add_panel_letter() (api.md) with the case set for the confirmed venue — never hardcode chr(65+i) per script.
  7. For imaging panels, confirm de-identification, add windowing labels + scale bar + arrows; keep grayscale unless color encodes data.
  8. Export .svg (text-as-text) and a 300–600 dpi raster; check legibility at final print width.
  9. QA (see contract) and inspect the final render for overlap/clipping before returning.

Output contract

  1. Figure plan — what each panel shows and why; the chart type chosen.
  2. Figure intent / source-data crosswalk — for full figure sets or submission figures, show what claim each panel supports and where the data came from.
  3. Script — a single runnable .py starting with the rcParams preamble; data inputs clearly marked (real vs example).
  4. Filesfigure.svg (primary) + figure.png/.tiff at ≥ 300 dpi.
  5. QA notes — fonts embedded as text, color-blind check, axis honesty, n shown, de-identification confirmed for any image panel, final-size render checked for no overlap/clipping, and venue-family visual style checked when applicable.

QA checklist (run before returning)

  • rcParams preamble present; output is .svg with svg.fonttype='none' and a ≥ 300 dpi raster.
  • Every axis labelled with units; legend present; panels labelled A/B/C or a/b/c per the confirmed venue, consistently across the whole figure set.
  • Uncertainty shown (CI band/error bars) and n stated.
  • Color-blind-safe; not reliant on red/green alone; sufficient contrast.
  • Imaging panels de-identified; windowing + scale bar present where relevant.
  • No invented data points; example data flagged.
  • Final exported render inspected at target size; no label/tick/legend/number overlap, clipping, or text crossing plot elements.
  • Venue-family rules satisfied when applicable (panel-letter case, background, legend length, graphical abstract blocks, Source Data/table expectations).

Handoffs

  • The statistic behind the plot (AUC CI, DeLong, ICC, calibration metrics, net benefit) → radiology-stats.
  • Whether the figure satisfies a checklist item (flow diagram for STARD/CONSORT), or the Reporting Summary/Nature Portfolio checklist → radiology-reporting.
  • Figure legends/captions prose, display-item plan (main vs Extended Data) → radiology-writing.
  • Source Data files, Extended Data vs Supplementary Information wording → radiology-data.
  • Full figure set finished and ready for a harsh read before submission → radiology-prereview.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Radiology Figure AI skill do?

Produce publication-quality white-background academic figures for Radiology (RSNA), Nature-portfolio/npj, European Radiology, NEJM, Science, or Lancet-family venues with Python (matplotlib): ROC curves, calibration plots, decision-curve analysis, forest/SROC plots, Kaplan-Meier curves with numbers-at-risk, Bland-Altman, heatmaps, radiogenomics plots, graphical/visual abstracts, and annotated imaging panels. Uses The Lancet Digital Health guide as the default Lancet-series proxy. Use when the user wants figures, plot cleanup, figure-set planning, journal-specific figure formatting, or overla...

Why use Radiology Figure on TypingMind?

Because you install it once and use it with any model. Radiology Figure is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Radiology Figure in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/huang-sir1/radiology-skills/tree/main/radiology-skills/modules/radiology-figure. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Radiology Figure?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Radiology Figure?

As many as you like. As long as a model supports skills, you can use Radiology Figure with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Radiology Figure AI skill free?

Yes. It is published on GitHub by huang-sir1 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇