figure-generation

Generates publication-ready scientific figures with matplotlib, Pillow, and automated QA validation.

6|1|Updated May 11, 2026
One-click install
npx skills add https://github.com/yakeworld/Synthos --skill figure-generation-yakeworld
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: figure-generation
Source: https://github.com/yakeworld/Synthos/tree/main/skills/extended/external-automation/creative/diagrams/figure-generation
Command: npx skills add https://github.com/yakeworld/Synthos --skill figure-generation-yakeworld

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires matplotlib, numpy, Pillow, python-pptx, and includes scripts (resource) and references (resource) components.

What problem does it solve? Creating publication-quality scientific figures for papers, presentations, and reports requires coordinating layout, color semantics, data integrity, and quality checks, which is error-prone when done manually. ## Core Features & Use Cases - Multi-mode figure generation: Produces scientific data charts (bar, scatter, ROC, confusion matrix, heatmap), architecture/flow diagrams, Excalidraw hand-drawn flowcharts, Pillow promotional covers, paper-to-PPT conversion, and PDF reverse engineering. - Automated QA pipeline: Runs six geometric checks (text overflow, arrow endpoints, box overlap, boundary, color-blind safety) via scripts like figure-qa-check.py, blocking output until checks pass. - Data integrity enforcement: Requires every figure to have a runnable generation script that reads from JSON/CSV data sources rather than hardcoded values, with audit tooling to detect violations. - Use Case: Given experiment results in a JSON file, generate a multi-panel ROC comparison figure exported as SVG, PDF, and 300-DPI PNG that passes all QA checks for journal submission. ## Quick Start Ask the agent to generate a publication-ready ROC curve figure from your experiment results JSON file with SVG, PDF, and PNG outputs.

Frequently Asked Questions about figure-generation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate publication-ready scientific figures with matplotlib?

Define a falsifiable claim, select a figure prototype, then generate a Python script that reads data from JSON or CSV files. Export to SVG, PDF, and 300-DPI PNG, and run the QA checks to verify text fits, arrows land inside boxes, and colors are color-blind safe.

What output formats should scientific paper figures use?

Figures should be exported in three formats: SVG for editable vector text, PDF for publication submission, and PNG at 300 DPI for raster use. Generating only one format violates the export contract for paper pipelines.

How do I check architecture diagrams for overlapping boxes and arrows?

Run the figure-qa-check.py script against the generation source file to extract FancyBboxPatch and FancyArrowPatch geometry, then verify box overlap with a 5pt margin, arrow endpoints inside target box bounds, and text within figure boundaries.

Why does matplotlib savefig fail with svg_fonttype argument?

Some matplotlib versions raise TypeError for the svg_fonttype keyword in print_svg. Call fig.savefig without that argument, or wrap the call in try/except and fall back to the default save behavior.

When should I not use this figure generation approach?

Avoid it for 3D or GIS visualization, AI-generated illustrations, animated diagrams, interactive Plotly charts, and hand-drawn whiteboard sketches. Those scenarios route to dedicated tools like 3D fitting modules, image generation models, or Excalidraw.