figure-generation
lingzhi227/agent-research-skills
Generate publication-quality scientific figures with matplotlib/seaborn using query expansion, code generation, and VLM visual feedback.
What is figure-generation?
Automates creation of research-paper figures (bar charts, line plots, heatmaps, training curves, ablation plots, etc.) through a three-phase pipeline: query expansion to specifications, iterative code generation with execution, and visual refinement. Use when you need to produce figures for academic papers.
- Expands figure descriptions into detailed coding specifications
- Generates and executes matplotlib/seaborn scripts with automatic retry on error
- Provides visual feedback and refinement using VLM inspection
- Outputs both PNG (300 DPI) and vector PDF formats
- Generates LaTeX include code for paper integration
- Supports 10+ figure types: bar, line, scatter, heatmap, training-curve, ablation, violin, radar, t-SNE, attention
How to install figure-generation
npx skills add https://github.com/lingzhi227/agent-research-skills --skill figure-generation- Python with matplotlib and seaborn installed
- Data file (CSV, JSON, NPY, PKL) or results directory (optional)
How to use figure-generation
- 1.Describe the desired figure (type, data mapping, style)
- 2.Optionally provide path to data file or results directory
- 3.The skill expands your description into specifications
- 4.Code is generated, executed, and iterated up to 4 times if errors occur
- 5.Visual inspection refines the output for publication quality
- 6.Retrieve PNG preview and PDF vector file for your paper
Use cases
- Creating comparison bar charts for experimental results
- Plotting training curves and loss trajectories
- Generating heatmaps for correlation or attention analysis
- Producing ablation study visualizations
- Making scatter plots with color/size encoding for multi-dimensional data
- Researchers writing academic papers
- ML/AI practitioners visualizing experimental results
- Scientists preparing publication-ready figures
- Anyone needing colorblind-friendly, print-quality plots
figure-generation FAQ
Bar, line, scatter, heatmap, training-curve, ablation, violin, radar, t-SNE, and attention plots.
Yes. Provide a path to CSV, JSON, NPY, or PKL files, or point to a results directory.
PNG at 300 DPI for preview, vector PDF for publication, and LaTeX include code.
If execution fails, the pipeline automatically captures the traceback, regenerates the script, and retries up to 4 times.
Yes. The skill enforces colorblind-friendly palettes and requires all text ≥8pt at print size.
Full instructions (SKILL.md)
Source of truth, from lingzhi227/agent-research-skills.
name: figure-generation description: Generate publication-quality scientific figures using matplotlib/seaborn with a three-phase pipeline (query expansion, code generation with execution, VLM visual feedback). Handles bar charts, line plots, heatmaps, training curves, ablation plots, and more. Use when the user needs figures, plots, or visualizations for a paper. argument-hint: [figure-description]
Scientific Figure Generation
Generate publication-quality figures for research papers.
Input
$0— Description of the desired figure$1— (Optional) Path to data file (CSV, JSON, NPY, PKL) or results directory
Scripts
Generate figure template
python ~/.claude/skills/figure-generation/scripts/figure_template.py --type bar --output figure_script.py --name comparison
python ~/.claude/skills/figure-generation/scripts/figure_template.py --list-types
Available types: bar, training-curve, heatmap, ablation, line, scatter, radar, violin, tsne, attention
Three-Phase Pipeline (from MatPlotAgent)
Phase 1: Query Expansion
Expand the user's figure description into step-by-step coding specifications using the prompts in references/figure-prompts.md. Determine: figure type, data mapping (x/y/color/hue), style requirements, paper conventions.
Phase 2: Code Generation with Execution Loop (up to 4 retries)
- Generate a self-contained Python script using the template from
scripts/figure_template.pyas a starting point - Write script to a temp file and execute:
python figure_script.py - If error: capture traceback, feed back, regenerate (see ERROR_PROMPT in references)
- If no
.pngproduced: add explicit save instruction, retry - On success: report the generated figure path
Phase 3: Visual Refinement
Read the generated PNG file and visually inspect using the VLM feedback prompts from references/figure-prompts.md:
- Does the figure type match the request?
- Are labels, titles, and legends correct?
- Is the color scheme appropriate and consistent?
- Are axis scales sensible? Is text readable at publication size?
If improvements needed: generate corrective instructions and re-execute.
References
- All MatPlotAgent prompts:
~/.claude/skills/figure-generation/references/figure-prompts.md - Figure templates:
~/.claude/skills/figure-generation/scripts/figure_template.py
Output
Both PNG (preview, 300 DPI) and PDF (vector, for paper) formats. Plus the LaTeX include code:
\begin{figure}[t]
\centering
\includegraphics[width=\linewidth]{figures/figure_name.pdf}
\caption{Description. Best viewed in color.}
\label{fig:figure_name}
\end{figure}
Quality Requirements
- DPI ≥ 300, or vector PDF
- Colorblind-friendly palette (no red-green only)
- All text ≥ 8pt at print size
- Consistent styling across all paper figures
- No matplotlib default title — use LaTeX caption
Related Skills
- Upstream: data-analysis, experiment-code
- Downstream: paper-writing-section, paper-compilation, slide-generation
- See also: table-generation
Related skills
More from lingzhi227/agent-research-skills and the wider catalog.

github-research
Explore and analyze GitHub repositories related to a research topic. Reads deep-research output, discovers repos from multiple sources, deeply analyzes code, and produces integration blueprints.

idea-generation
Generate novel research ideas with iterative refinement and novelty checking against literature. Score ideas on Interestingness, Feasibility, and Novelty. Use when brainstorming research directions or validating idea novelty.

latex-formatting
Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.

literature-review
Conduct comprehensive literature reviews through multi-perspective expert dialogue and systematic paper synthesis.

literature-search
Search academic literature across Semantic Scholar, arXiv, and OpenAlex with structured results and BibTeX export.

math-reasoning
Formal mathematical reasoning for research papers — derive equations, write proofs, formalize problem settings, select statistical tests, and generate LaTeX math notation. Use when the user needs mathematical derivations, theorem proofs, notation tables, or statistical analysis formalization.