/figure-generation
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
$ npx -y skills add lingzhi227/agent-research-skills --skill figure-generation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/figure-generation
Context preview
The summary Claude sees to decide when to auto-load this skill.
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
SKILL.md
figure-generation.SKILL.mdname: 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)
1. Generate a self-contained Python script using the template from `scripts/figure_template.py` as a starting point 2. Write script to a temp file and execute: `python figure_script.py` 3. If error: capture traceback, feed back, regenerate (see ERROR_PROMPT in references) 4. If no `.png` produced: add explicit save instruction, retry 5. 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](../data-analysis/), [experiment-code](../experiment-code/)
- Downstream: [paper-writing-section](../paper-writing-section/), [paper-compilation](../paper-compilation/), [slide-generation](../slide-generation/)
- See also: [table-generation](../table-generation/)
Read more
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)
1. Generate a self-contained Python script using the template from `scripts/figure_template.py` as a starting point 2. Write script to a temp file and execute: `python figure_script.py` 3. If error: capture traceback, feed back, regenerate (see ERROR_PROMPT in references) 4. If no `.png` produced: add explicit save instruction, retry 5. 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](../data-analysis/), [experiment-code](../experiment-code/)
- Downstream: [paper-writing-section](../paper-writing-section/), [paper-compilation](../paper-compilation/), [slide-generation](../slide-generation/)
- See also: [table-generation](../table-generation/)
31 skills for Claude Code covering the full academic research paper lifecycle — from literature search to slide generation — plus GitHub repository analysis for research topics. Extracted from 17 GitHub repos studying LLM-agent-driven research automation.
Other skills on agent-research-skills.
- /algorithm-design
Design algorithms with LaTeX pseudocode and UML diagrams. Generate algorithmic environments, Mermaid class/sequence diagrams, and ensure consistency between pseudocode and implementation. Use when formalizing methods for a paper.
Open skill - /atomic-decomposition
Decompose research ideas into atomic, self-contained concepts with bidirectional math-code mapping. For each concept, extract the math formula from papers and find code implementations. Use for complex system papers requiring formal grounding.
Open skill - /backward-traceability
Make every number in the final PDF traceable to the exact code line that produced it. Uses \hypertarget/\hyperlink LaTeX commands and \num{formula} evaluated at compile time. Use for reproducibility and data integrity verification.
Open skill - /citation-management
Manage BibTeX citations for LaTeX papers. Harvest missing citations from a draft using Semantic Scholar, validate cite keys against .bib files, deduplicate entries, and format bibliography. Use when working with references, BibTeX, or citations.
Open skill - /code-debugging
Debug experiment code with structured error analysis. Categorize errors, apply targeted fixes with retry logic, and use reflection to prevent recurring issues. Use when experiment code fails or produces incorrect results.
Open skill - /data-analysis
Generate statistical analysis code with 4-round review. Select appropriate statistical tests, interpret results, and produce analysis reports with p-values, effect sizes, and confidence intervals. Use when analyzing experimental data for a paper.
Open skill

