Create or audit scientific figures, including uncertainty, missing data, accessibility, and publication exports. Use for scientific plots and figure review with Matplotlib, Seaborn, or Plotly.
Build figures that preserve scientific meaning before optimizing appearance. Separate universal principles from dated publisher rules, preserve raw data and transformations, use color redundantly, and inspect delivered files rather than trusting plotting defaults.
Non-negotiable guardrails
Never alter, hide, invent, or selectively enhance data to improve a figure.
Preserve raw tables/images, exclusions, missing-value codes, analysis code, normalization, binning, image adjustments, and random seeds.
Do not infer journal requirements. Identify the exact journal, article type, figure type, and submission phase; verify its live official guidance.
Do not claim that a palette, DPI value, format, or automated report makes a figure accessible or journal-compliant.
Do not silently connect missing observations, suppress inconvenient points, upsample images as if detail increased, or tune axes/dual axes to exaggerate a conclusion.
Keep interactive and static outputs as distinct deliverables. Interactive hover is not a substitute for labels, alt text, keyboard access, an accessible data table, or a static fallback.
Read references/publication_guidelines.md for deceptive-encoding and integrity checks. Read references/journal_requirements.md only after the target and phase are known.
Workflow
1. Define the evidence and destination
Record:
audience and medium: manuscript, web, slide, poster, supplement;
exact publisher/journal, article type, submission phase, and intended final width;
source-data paths/identifiers and output provenance.
If requirements are not known, create a provisional general figure and label all publisher choices as pending verification.
2. Choose an honest encoding
Prefer position on a common scale. Before coding, check:
Bars/areas: normally include zero because length/area is measured from a baseline.
Points/lines: nonzero limits can be valid; show context and disclose breaks.
Uncertainty: name SD, SE, CI, percentile, posterior, or another interval; state n and the unit of replication.
Raw observations: show them when feasible; do not let jitter obscure categories/values.
Missing data: distinguish missing, zero, censored, and excluded; use gaps or explicit model/interpolation styling.
Area/volume: scale area/volume, not radius/diameter; avoid decorative 3D.
Log axes: label the base/transform and declare how zero/negative values are handled.
Binning/smoothing: record edges, bandwidth/window, method, and sensitivity.
Normalization: state formula/reference and keep limits consistent across compared panels.
Dual axes: prefer aligned panels; if unavoidable, justify units and do not engineer apparent correlation.
Images: preserve originals, disclose whole-image adjustments, show scale bars, and avoid clipped/erased background.
3. Design accessibility in, not after
Use color plus marker, line style, hatching, direct label, or panel separation.
Choose qualitative, sequential, diverging, or cyclic color according to data semantics.
Audit foreground/background contrast at the rendered size.
Make missing and out-of-range values explicit.
Provide alt text, a longer description for complex figures, and underlying data for web delivery.
Treat WCAG 2.2 as web guidance: 4.5:1 normal text, 3:1 large text, and 3:1 for graphical objects required for understanding; color cannot be the only cue. Applicability and exceptions matter.
See references/color_palettes.md. A grayscale screen is useful but is not a complete color-vision or accessibility test.
4. Implement and export the requested figure
For Matplotlib, Seaborn, or Plotly implementation, color normalization, scoped styles,
font handling, and export provenance, read
implementation and export.
For additional runnable patterns, use Matplotlib examples.
For dependency setup, metadata inspection, palette audits, publisher export planning,
or style previews, read the relevant section of tooling.
The bundled versions and publisher profiles are dated snapshots, not live requirements.
5. Inspect the delivered files
Complete the checks below on the actual export at its final size and in its intended
context. Use tooling for metadata, contrast, and export-plan
commands. Review scientific meaning and accessibility manually; automated outputs
do not certify either. Re-check the live target-journal page immediately before upload.
Final review checklist
Raw data/images and transformation code are preserved.
Missing values, exclusions, bins, normalization, and uncertainty are explicit.
Baselines, scales, limits, and area/volume encodings are honest.
Color is redundant and rendered contrast was reviewed.
Figure has an accessible description/data alternative where applicable.
Physical dimensions, DPI, format, fonts, transparency, and file size were inspected after export.
Publisher rules were verified for the exact journal and phase.
No automated report is presented as a scientific, accessibility, or compliance certification.
Manually inspect clipping, legends, scale bars, embedded rasters, image integrity,
caption, alt text, and the source data alongside the metadata checks.
For official URLs, access dates, versions, and the research basis, see
sources. When this skill materially contributes to a
manuscript, report, presentation, or code release, follow
the current-version citation procedure.
1---2name: scientific-visualization3description: Create or audit scientific figures, including uncertainty, missing data, accessibility, and publication exports. Use for scientific plots and figure review with Matplotlib, Seaborn, or Plotly.4license: MIT5---67# Scientific Visualization89Build figures that preserve scientific meaning before optimizing appearance. Separate universal principles from dated publisher rules, preserve raw data and transformations, use color redundantly, and inspect delivered files rather than trusting plotting defaults.1011## Non-negotiable guardrails1213- Never alter, hide, invent, or selectively enhance data to improve a figure.14- Preserve raw tables/images, exclusions, missing-value codes, analysis code, normalization, binning, image adjustments, and random seeds.15- Do not infer journal requirements. Identify the exact journal, article type, figure type, and submission phase; verify its live official guidance.16- Do not claim that a palette, DPI value, format, or automated report makes a figure accessible or journal-compliant.17- Do not silently connect missing observations, suppress inconvenient points, upsample images as if detail increased, or tune axes/dual axes to exaggerate a conclusion.18- Keep interactive and static outputs as distinct deliverables. Interactive hover is not a substitute for labels, alt text, keyboard access, an accessible data table, or a static fallback.1920Read `references/publication_guidelines.md` for deceptive-encoding and integrity checks. Read `references/journal_requirements.md` only after the target and phase are known.2122## Workflow2324### 1. Define the evidence and destination2526Record:2728- audience and medium: manuscript, web, slide, poster, supplement;29- exact publisher/journal, article type, submission phase, and intended final width;30- variable semantics, units, sample/replicate structure, missing/censored values;31- estimator and uncertainty definition;32- transformations: filtering, aggregation, normalization, smoothing, bins, image processing;33- source-data paths/identifiers and output provenance.3435If requirements are not known, create a provisional general figure and label all publisher choices as pending verification.3637### 2. Choose an honest encoding3839Prefer position on a common scale. Before coding, check:4041- **Bars/areas:** normally include zero because length/area is measured from a baseline.42- **Points/lines:** nonzero limits can be valid; show context and disclose breaks.43- **Uncertainty:** name SD, SE, CI, percentile, posterior, or another interval; state `n` and the unit of replication.44- **Raw observations:** show them when feasible; do not let jitter obscure categories/values.45- **Missing data:** distinguish missing, zero, censored, and excluded; use gaps or explicit model/interpolation styling.46- **Area/volume:** scale area/volume, not radius/diameter; avoid decorative 3D.47- **Log axes:** label the base/transform and declare how zero/negative values are handled.48- **Binning/smoothing:** record edges, bandwidth/window, method, and sensitivity.49- **Normalization:** state formula/reference and keep limits consistent across compared panels.50- **Dual axes:** prefer aligned panels; if unavoidable, justify units and do not engineer apparent correlation.51- **Images:** preserve originals, disclose whole-image adjustments, show scale bars, and avoid clipped/erased background.5253### 3. Design accessibility in, not after5455- Use color plus marker, line style, hatching, direct label, or panel separation.56- Choose qualitative, sequential, diverging, or cyclic color according to data semantics.57- Audit foreground/background contrast at the rendered size.58- Make missing and out-of-range values explicit.59- Provide alt text, a longer description for complex figures, and underlying data for web delivery.60- Treat WCAG 2.2 as web guidance: 4.5:1 normal text, 3:1 large text, and 3:1 for graphical objects required for understanding; color cannot be the only cue. Applicability and exceptions matter.6162See `references/color_palettes.md`. A grayscale screen is useful but is not a complete color-vision or accessibility test.6364### 4. Implement and export the requested figure6566For Matplotlib, Seaborn, or Plotly implementation, color normalization, scoped styles,67font handling, and export provenance, read68[implementation and export](references/implementation_and_export.md).69For additional runnable patterns, use [Matplotlib examples](references/matplotlib_examples.md).7071For dependency setup, metadata inspection, palette audits, publisher export planning,72or style previews, read the relevant section of [tooling](references/tooling.md).73The bundled versions and publisher profiles are dated snapshots, not live requirements.7475### 5. Inspect the delivered files7677Complete the checks below on the actual export at its final size and in its intended78context. Use [tooling](references/tooling.md) for metadata, contrast, and export-plan79commands. Review scientific meaning and accessibility manually; automated outputs80do not certify either. Re-check the live target-journal page immediately before upload.8182## Final review checklist8384- [ ] Raw data/images and transformation code are preserved.85- [ ] Missing values, exclusions, bins, normalization, and uncertainty are explicit.86- [ ] Baselines, scales, limits, and area/volume encodings are honest.87- [ ] Color is redundant and rendered contrast was reviewed.88- [ ] Figure has an accessible description/data alternative where applicable.89- [ ] Physical dimensions, DPI, format, fonts, transparency, and file size were inspected after export.90- [ ] Publisher rules were verified for the exact journal and phase.91- [ ] No automated report is presented as a scientific, accessibility, or compliance certification.9293Manually inspect clipping, legends, scale bars, embedded rasters, image integrity,94caption, alt text, and the source data alongside the metadata checks.9596For official URLs, access dates, versions, and the research basis, see97[sources](references/sources.md). When this skill materially contributes to a98manuscript, report, presentation, or code release, follow99[the current-version citation procedure](references/tooling.md#citing-scientific-agent-skills).
Run npx skillmds@latest add c1trusovo831/scientific-visualization in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Create or audit scientific figures, including uncertainty, missing data, accessibility, and publication exports. Use for scientific plots and figure review with Matplotlib, Seaborn, or Plotly. It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: executes scripts. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
C1TRuSovo831 (@c1trusovo831) published this skill. Their other Agent Skills are listed on their SkillMD profile.