make-figures
Use when a paper needs publication-ready figures or a visual abstract.
Skill by Aperivue
Chalk Labs
Need help deploying make-figures?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/aperivue-make-figures
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.
About
Use cases: data, research
Reviews
Write a reviewNo 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/make-figures
What's inside
- Skill name
make-figures- Description
- Use when a paper needs publication-ready figures or a visual abstract. Makes ROC, forest, calibration, Kaplan-Meier and Bland-Altman plots, CONSORT/STARD/PRISMA flow diagrams, confusion matrices, pipeline diagrams and journal visual abstracts, checking the journal's AI-image policy first.
- License
- MIT
- Metadata
- triggers: figure, plot, graph, diagram, ROC curve, forest plot, flow diagram, CONSORT diagram, PRISMA flow, visualization, chart, visual abstract, graphical abstract, key message, figure design, figure planning, effective figure, cognitive load
- Instructions
- 538 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- body: 538 lines (spec recommends under 500)
Files (137)
- SKILL.md
- data_plot.md · references/critic_rubrics/
- flow_diagram.md · references/critic_rubrics/
- design_principles.md · references/
- README.md · references/exemplar_diagrams/
- README.md · references/exemplar_diagrams/consort/
- template_input.yaml · references/exemplar_diagrams/consort/
- template_output.pdf · references/exemplar_diagrams/consort/
- template_output.png · references/exemplar_diagrams/consort/
- template_output_600.png · references/exemplar_diagrams/consort/
- other_02_why.md · references/exemplar_diagrams/other/
- README.md · references/exemplar_diagrams/pipeline/
- pipeline_01_why.md · references/exemplar_diagrams/pipeline/
- pipeline_03_why.md · references/exemplar_diagrams/pipeline/
- pipeline_04_why.md · references/exemplar_diagrams/pipeline/
- pipeline_05_why.md · references/exemplar_diagrams/pipeline/
- pipeline_06_why.md · references/exemplar_diagrams/pipeline/
- pipeline_07_why.md · references/exemplar_diagrams/pipeline/
- pipeline_08_why.md · references/exemplar_diagrams/pipeline/
- pipeline_09_why.md · references/exemplar_diagrams/pipeline/
- pipeline_10_why.md · references/exemplar_diagrams/pipeline/
- README.md · references/exemplar_diagrams/prisma/
- template_input.yaml · references/exemplar_diagrams/prisma/
- template_output.pdf · references/exemplar_diagrams/prisma/
- template_output.png · references/exemplar_diagrams/prisma/
- template_output_600.png · references/exemplar_diagrams/prisma/
- README.md · references/exemplar_diagrams/stard/
- template_input.yaml · references/exemplar_diagrams/stard/
- template_output.pdf · references/exemplar_diagrams/stard/
- template_output.png · references/exemplar_diagrams/stard/
- template_output_600.png · references/exemplar_diagrams/stard/
- template_input.yaml · references/exemplar_diagrams/strobe/
- template_input_pptx.yaml · references/exemplar_diagrams/strobe/
- template_output.pdf · references/exemplar_diagrams/strobe/
- template_output.png · references/exemplar_diagrams/strobe/
- template_output.pptx · references/exemplar_diagrams/strobe/
- template_output_600.png · references/exemplar_diagrams/strobe/
- README.md · references/exemplar_plots/
- ai_assistance_effect.md · references/exemplar_plots/
- bland_altman.md · references/exemplar_plots/
- calibration_plot.md · references/exemplar_plots/
- clinical_timeline.md · references/exemplar_plots/
- confusion_matrix.md · references/exemplar_plots/
- cumulative_incidence.md · references/exemplar_plots/
- decision_curve.md · references/exemplar_plots/
- external_validation_comparison.md · references/exemplar_plots/
- forest_plot.md · references/exemplar_plots/
- funnel_plot.md · references/exemplar_plots/
- imaging_panel.md · references/exemplar_plots/
- km_curve.md · references/exemplar_plots/
- manhattan_plot.md · references/exemplar_plots/
- model_comparison_leaderboard.md · references/exemplar_plots/
- mrmc_roc.md · references/exemplar_plots/
- roc_pr.md · references/exemplar_plots/
- segmentation_failure_panel.md · references/exemplar_plots/
- shap_beeswarm.md · references/exemplar_plots/
- spider_plot.md · references/exemplar_plots/
- swimmer_plot.md · references/exemplar_plots/
- waterfall_plot.md · references/exemplar_plots/
- figure_manifest.md · references/
- …and 77 more
SKILL.md (first lines)
# Make-Figures Skill
## Data Privacy Check
Before reading any data file, check whether it might contain Protected Health Information (PHI):
1. If `*_deidentified.*` files exist in the working directory, use those preferentially.
2. If only raw CSV/Excel files exist (no `*_deidentified.*` counterpart), ask the user, in their
language, whether the data contains patient identifiers (names, national ID / RRN, contact
details, etc.) and, if so, to de-identify it first with the `/deidentify` skill.
3. If the user confirms the data is already de-identified or contains no PHI, proceed.
## Reference Files
- **Figure specifications**: `${CLAUDE_SKILL_DIR}/references/figure_specs.md` — read it before
generating any figure (journal dimensions, DPI, file formats, palettes, font sizes, panel
layouts, caption format).
- **Figure style**: `${CLAUDE_SKILL_DIR}/../analyze-stats/references/style/figure_style.mplstyle`
---
## Journal AI-Image Policies (CRITICAL — check BEFORE generation)
| Journal family | Policy on AI-generated images | Disclosure required |
|---|---|---|
| **JACC family (incl. JACC: Asia, JACC Imaging, JACC EP, JACC BTS)** | **Prohibited without prior Editor-in-Chief permission** ([JACC pathway, PMC10167500](https://pmc.ncbi.nlm.nih.gov/articles/PMC10167500/)) | Cover-letter pre-submission inquiry + ICMJE-style declaration |
| NEJM | AI image generation prohibited | N/A |
| Radiology / Radiology AI | Allowed with disclosure | Manuscript disclosure block |
| Springer Nature (Nature Portfolio, BMC, Springer journals) | Allowed only when the visual is derived from **independently verifiable** data, source material, methods or code; AI visuals without verifiable inputs are "opaque" and not permitted. Charts from datasets and author-reviewed code-generated figures are the policy's own allowed examples ([AI in manuscript preparation](https://www.springernature.com/gp/policies/editorial-policies/ai-manuscript-preparation)) | Declare model and purpose; disclose non-generative image edits in the caption |
| Elsevier journals (publisher policy) | Explanatory images (flow charts, schematics) allowed. Data visualizations only when directly derived from the underlying data by reproducible methods. **Primary research images, including radiology scans and patient images, must not be created or altered with AI.** AI images produced as part of the research methods are permitted. Graphical abstracts: dedicated illustration tools, not general-purpose generative AI ([Generative AI policies for journals](https://www.elsevier.com/about/policies-and-standards/generative-ai-policies-for-journals)) | Caption + AI disclosure statement (explanatory); Methods (data visualizations, research-method use) |
| Lancet family | Disclosure required, generation discouraged | Manuscript disclosure |
| Default (target unknown) | Treat as prohibited until confirmed | N/A |
Publisher pages set the floor; a journal's own guide can be stricter (JACC is an Elsevier journal). Check the target journal's guide as well as its publisher's.
**Hard rule**: For JACC, NEJM, or any "unknown" target journal, **never** use Gemini / DALL-E / Midjourney / Stable Diffusion / Nano Banana to create images that will appear in figures, Central Illustrations, or graphical abstracts. AI text-editing of the manuscript prose remains acceptable subject to standard disclosure.
### Default workflow when AI images are not allowed
1. **SMART Servier Medical Art** — https://smart.servier.com/, CC BY 4.0, free, 3,000+ vector medical icons (anatomy, organs, ethnicity-specific human figures, drugs, devices). Commercial / journal use allowed. **Required attribution** (1 line in figure legend OR methods):
> Anatomical icons modified from SMART Servier Medical Art (CC BY 4.0).
2. **NIAID BioArt** (https://bioart.niaid.nih.gov) — public domain (US Govt), microbiology / immunology / lab-tech focus.
3. **BioRender** (https://www.biorender.com) — institutional license usually required; use the exported "Publication-ready" PNG/TIFF and cite per BioRender publication policy.
4. For "diseased" variants not directly available (e.g., calcified vessel from a clean vessel): reuse the healthy asset and overlay disease markers via matplotlib `scatter` / `Circle` / `PathPatch`. Keeps the entire pipeline non-AI and reproducible.
Even when AI images are allowed, experienced reviewers recognise AI-generated illustrations (small decorative icons that add no information, overly uniform layouts, generic clip-art style). For high-impact submissions, prefer Servier / BioArt / BioRender + matplotlib overlays over AI.
### Asset directory convention
```
manuscript/figures/_assets_servier/ # CC BY 4.0 source PNGs
manuscript/figures/_assets_servier/CITATION.md # source URL + download date per asset
manuscript/figures/_assets_data/ # data-driven raster (R / matplotlib heat maps, KM, etc.)
manuscript/figures/_legacy/ # archived prior versions
```
Composition scripts should load only from `_assets_servier/` and `_assets_data/`. If a script imports from `_assets_ai/`, treat it as a policy violation for JACC/NEJM/unknown targets.
### AI Image Generation (Optional)
AI illustration is a supplementary option: every figure and visual abstract can be completed without an API key. If `GEMINI_API_KEY` is set, `generate_image.py` can generate illustrations (procedural schematics, anatomical illustrations), subject to the policy table and hard rule above:
```bash
python ${CLAUDE_SKILL_DIR}/scripts/generate_image.py \
"Clean medical illustration of a CT-guided lung biopsy procedure, \
flat vector style, white background, no text" \
--output output.png --aspect 16:9
```
If `GEMINI_API_KEY` is not set, use `${CLAUDE_SKILL_DIR}/references/medical_illustration_sources.md`.
---
## Visual Abstract / Graphical Abstract
European Radiology made graphical abstracts mandatory for all Original Articles from first revision
(Jan 2025); other journals encourage or accept them (status list in `template_guide.md`). Check the
target journal profile (`write-paper/references/journal_profiles/`) for its visual abstract
requirements before starting.
### Workflow
1. **Check journal template.** Look for an official PPTX template in
`${CLAUDE_SKILL_DIR}/references/visual_abstract_templates/{journal}.pptx`.
If no journal-specific template exists, use `medsci_default.pptx`.
2. **Extract content from the manuscript:**
- **Title:** Full article title
- **Hypothesis/Question:** Derived from Key Point 1 or study objective (max 1 sentence)
- **Methodology:** Brief flowchart or ≤3 bullets, <6 words each
- **Visual element:** Study's own figure (ROC curve, flow diagram, representative image)
- **Badges:** Patient cohort (N=...) | Modality/organ | Single/Multi-center
- **Main finding:** Derived from Key Point 3 (<20 words)
- **Citation:** Journal (year) Authors; DOI
3. **Select visual element** (priority order):
1. Study's own figures (ROC, flow diagram, representative image) — **always preferred**
2. Free illustration from Servier Medical Art or NIAID BioArt
(see `${CLAUDE_SKILL_DIR}/references/medical_illustration_sources.md`)
3. Manual drawing in PPT/Keynote/Figma
4. AI generation via `generate_image.py --style medical` (only if GEMINI_API_KEY set)
4. **Generate using the script:**
```bash
python ${CLAUDE_SKILL_DIR}/scripts/generate_visual_abstract.py \
--template medsci_default \
--title "Article Title" \
--hypothesis "Research question" \
--methods "Method 1|Method 2|Method 3" \
--finding "Main finding statement" \
--citation "Eur Radiol (2026) Author A et al; DOI:..." \
--visual figures/fig1_roc_curve.png \
--badges "N=450|CT chest|Multi-center" \
--output figures/visual_abstract.pptx
```
5. **Review with user.** Open the PPTX to verify layout and content. Iterate.
6. **Export.** PPTX is the primary deliverable. For PNG: open in PowerPoint/Keynote → export,
or use LibreOffice CLI (`soffice --headless --convert-to png`).
Design: one page, landscape (16:9) or per the journal template; three sections (study question →
key method → main result); the study's actual figures rather than generic graphics; minimal text;
no decorative clip-art.From Aperivue/medsci-skills, MIT.
More from Aperivue/medsci-skills
- 0.779score
deidentify
Aperivue
Use when clinical data may contain PHI and must be de-identified before any LLM-assisted analysis.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
design-ai-benchmarking
Aperivue
Use when designing a study that benchmarks AI systems against a human-expert panel, before data collection.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
contribute
Aperivue
Use when sending local changes back to the project (an added journal profile, a fixed checklist item, an adapted skill) or reporting a false positive or bug.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
define-variables
Aperivue
Use when exposure, outcome, covariate or eligibility definitions and cutoffs need a citable basis before the protocol.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
add-journal
Aperivue
Use when a target journal has no profile yet.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
calc-sample-size
Aperivue
Use when planning how many patients or cases a study needs before data collection (power analysis, IRB justification).
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
review-paper
Aperivue
Use when writing a literature review article (narrative, scoping PRISMA-ScR or systematic).
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
author-strategy
Aperivue
Use when analyzing a researcher's publication record from PubMed.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
academic-aio
Aperivue
Use when a medical AI paper should be found and cited by AI search engines and RAG tools.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
check-reporting
Aperivue
Use when auditing a manuscript item by item against a reporting guideline or risk-of-bias tool.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
clean-data
Aperivue
Use when a clinical CSV/Excel dataset needs profiling and cleaning before analysis (missing values, outliers, duplicates, type mismatches).
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
design-study
Aperivue
Use when checking a radiology or medical AI study design before drafting or submission.
SkillAFreshness: A★ 349Claude Code +9
Signals
- Stars
- 349
- Forks
- 83
- Open issues
- 4
- Last commit (this folder)
- Oct 22, 2026 (8 days ago)
- Last release
- Oct 4, 2026 (26 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Aperivue/medsci-skills
- Website
- aperivue.com/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Aperivue
- 0.779score
review-paper
Aperivue
Use when writing a literature review article (narrative, scoping PRISMA-ScR or systematic).
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
author-strategy
Aperivue
Use when analyzing a researcher's publication record from PubMed.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
academic-aio
Aperivue
Use when a medical AI paper should be found and cited by AI search engines and RAG tools.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
add-journal
Aperivue
Use when a target journal has no profile yet.
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
calc-sample-size
Aperivue
Use when planning how many patients or cases a study needs before data collection (power analysis, IRB justification).
SkillAFreshness: A★ 349Claude Code +9 - 0.779score
check-reporting
Aperivue
Use when auditing a manuscript item by item against a reporting guideline or risk-of-bias tool.
SkillAFreshness: A★ 349Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get make-figures running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
make-figures skill. Agent Mart. https://agentmart.dev/skills/aperivue-make-figures (last updated 2026-10-24)