agentskills.codes
AC

academic-plotting

Generates publication-quality figures for ML papers from research context. Given a paper section or description, extracts system components and relationships to generate architecture diagrams via Gemini. Given experiment results or data, auto-selects chart type and generates data-driven figures via

Install

mkdir -p .claude/skills/academic-plotting && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13546" && unzip -o skill.zip -d .claude/skills/academic-plotting && rm skill.zip

Installs to .claude/skills/academic-plotting

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Generates publication-quality figures for ML papers from research context. Given a paper section or description, extracts system components and relationships to generate architecture diagrams via Gemini. Given experiment results or data, auto-selects chart type and generates data-driven figures via matplotlib/seaborn. Use when creating any figure for a conference paper.
372 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)

About this skill

Academic Plotting for ML Papers

Generate publication-quality figures for ML/AI conference papers. Two distinct workflows:

  1. Diagram figures (architecture, system design, workflows, pipelines) — AI image generation via Gemini
  2. Data figures (line charts, bar charts, scatter plots, heatmaps, ablations) — matplotlib/seaborn

When to Use Which Workflow

Figure TypeToolWhy
Architecture / system diagramGemini (Workflow 1)Complex spatial layouts with boxes, arrows, labels
Workflow / pipeline / lifecycleGemini (Workflow 1)Multi-step processes with connections
Bar chart, line plot, scattermatplotlib (Workflow 2)Precise numerical data, reproducible
Heatmap, confusion matrixmatplotlib/seaborn (Workflow 2)Structured grid data
Ablation table as chartmatplotlib (Workflow 2)Grouped bars or line comparisons
Pie / donut chartmatplotlib (Workflow 2)Proportional data (use sparingly in ML papers)
Training curvesmatplotlib (Workflow 2)Loss/accuracy over steps/epochs

Rule of thumb: If the figure has numerical axes, use matplotlib. If the figure has boxes and arrows, use Gemini.


Step 0: Context Analysis & Extraction

The user will typically provide one of these inputs — not a ready-made specification:

Input TypeExampleWhat to Extract
Full paper / section draft"Here's our method section..."System components, their relationships, data flow
Description paragraph"Our system has three layers that..."Key entities, hierarchy, connections
Raw results / data table"MMLU: 85.2, HumanEval: 72.1..."Metrics, methods, comparison structure
CSV / JSON dataExperiment log filesVariables, trends, grouping dimensions
Vague request"Make a figure for the overview"Read surrounding paper context to infer content

Extraction Workflow

For diagrams (research context → architecture figure):

  1. Read the provided context — paper section, abstract, or description paragraph
  2. Identify visual entities — What are the main components/modules/stages?
    • Look for: nouns that represent system parts, named modules, layers, stages
    • Count them: if >8 top-level entities, consider grouping into sections
  3. Identify relationships — How do components connect?
    • Look for: verbs describing data flow ("sends to", "queries", "feeds into")
    • Classify: data flow (solid arrow), control flow (gray), error path (dashed red)
  4. Determine layout pattern:
    • Sequential pipeline → left-to-right flow
    • Layered architecture → horizontal bands stacked vertically
    • Hub-and-spoke → central node with radiating connections
    • Hierarchical → top-down tree
  5. Assign colors — One accent color per logical group/layer
  6. Write every label exactly — Extract exact terminology from the paper text

For data charts (results → figure):

  1. Read the provided data — table, paragraph with numbers, CSV, or JSON
  2. Identify dimensions:
    • What is being compared? (methods, models, configurations) → categorical axis
    • What is the metric? (accuracy, loss, latency, F1) → value axis
    • Is there a time/step dimension? → line plot
    • Are there multiple metrics? → multi-panel or grouped bars
  3. Choose chart type automatically using this priority:
    • Has a step/time axis → line plot
    • Comparing N methods on M benchmarks → grouped bar chart
    • Single ranking → horizontal bar (leaderboard)
    • Correlation between two continuous variables → scatter plot
    • Square matrix of values → heatmap
    • Proportional breakdown → stacked bar (avoid pie charts)
  4. Determine figure sizing — Single column vs full width based on data density
  5. Highlight "our method" — Identify which entry is the paper's contribution and give it a distinct color

Auto-Detection Examples

Context → Diagram: "Our system has a Planner, Executor, and Verifier. Planner sends plans to Executor, Executor returns results to Verifier, Verifier feeds back to Planner on failure." → 3 entities, cycle layout, dashed feedback arrow → Workflow 1 (Gemini)

Data → Chart: "GPT-4: MMLU 86.4, HumanEval 67.0. Ours: 88.1, 71.2. Llama-3: 79.3, 62.1." → 3 methods × 2 benchmarks → Workflow 2 (grouped bar), highlight "Ours" in coral


Workflow 1: Architecture & System Diagrams (AI Image Generation)

Use Gemini 3 Pro Image Preview to generate diagrams. Choose a visual style first — this is the single biggest factor in whether the figure looks professional or generic.

Visual Styles

Pick one style per paper (all figures should be consistent):

Style A: "Sketch / 简笔画" (Hand-Drawn)

Warm, approachable, memorable. Ideal for overview figures and system introductions. Looks like a whiteboard sketch refined by a designer.

VISUAL STYLE — HAND-DRAWN SKETCH:
- Slightly irregular, hand-drawn line quality — lines wobble gently, not perfectly straight
- Rounded, soft shapes with visible pen strokes (like drawn with a thick felt-tip marker)
- Warm off-white background (#FAFAF7), NOT pure white
- Fill colors are soft watercolor-like washes: muted blue (#D6E4F0), soft peach (#F5DEB3),
  light sage (#D4E6D4), pale lavender (#E6DFF0)
- Borders are dark charcoal (#2C2C2C) with 2-3px line weight, slightly uneven
- Arrows are hand-drawn with slight curves, ending in simple open arrowheads (not filled triangles)
- Text uses a rounded sans-serif font (like Comic Neue or Architects Daughter feel)
- Small doodle-style icons inside boxes: a tiny gear ⚙ for processing, a lightbulb 💡 for ideas,
  a magnifying glass 🔍 for search — rendered as simple line drawings, NOT emoji
- Overall feel: a carefully drawn whiteboard diagram, clean but with personality
- NO clip art, NO stock icons, NO photorealistic elements

Style B: "Modern Minimal" (Clean & Bold)

Confident, authoritative. Best for method figures where precision matters.

VISUAL STYLE — MODERN MINIMAL:
- Ultra-clean geometric shapes with crisp edges
- Bold color blocks as backgrounds for sections — NOT just accent bars, but full section fills
  using desaturated tones: slate blue (#E8EDF2), warm sand (#F5F0E8), cool mint (#E8F2EE)
- Component boxes have ROUNDED CORNERS (12px radius), NO visible border — they float on
  the section background using subtle shadow (1px, 4px blur, rgba(0,0,0,0.06))
- ONE accent color per section used sparingly on key elements: Deep blue (#2563EB),
  Emerald (#059669), Amber (#D97706), Rose (#E11D48)
- Arrows are thin (1.5px), dark gray (#6B7280), with small filled circle at source
  and clean arrowhead at target — NOT thick colored arrows
- Typography: Inter or system sans-serif, title 600 weight, body 400 weight
- Labels INSIDE boxes, not beside them
- Generous whitespace — at least 24px between elements
- NO decorative elements, NO icons — let the structure speak

Style C: "Illustrated Technical" (Icon-Rich)

Engaging, explanatory. Good for tutorial-style papers and figures that need to be self-explanatory.

VISUAL STYLE — ILLUSTRATED TECHNICAL:
- Each major component has a small MEANINGFUL ICON drawn in a consistent line-art style
  (single color, 2px stroke, ~24x24px): brain icon for reasoning, database cylinder for storage,
  arrow-loop for iteration, network nodes for communication
- Components sit inside soft rounded rectangles with a LEFT COLOR STRIP (4px wide)
- Background is pure white, but each logical group has a very faint colored region behind it
  (#F8FAFC for blue group, #FFF8F0 for orange group)
- Connections use CURVED bezier paths (not straight lines), colored by SOURCE component
- Key data flows are THICKER (3px) than secondary flows (1px, dashed)
- Small annotation badges on arrows: "×N" for repeated operations, "optional" in italics
- Title labels are ABOVE each section in small caps, letter-spaced
- Overall: like a well-designed API documentation diagram

Style D: "Accent Bar" (Classic Academic)

The default academic style. Safe for any venue, works well in grayscale.

VISUAL STYLE — CLASSIC ACCENT BAR:
- Horizontal section bands stacked vertically, pale gray (#F7F7F5) fill
- Thick colored LEFT ACCENT BAR (8px) distinguishes each section
- Content boxes: white fill, thin #DDD border, 4px rounded corners
- Section palette: Blue #4A90D9, Teal #5BA58B, Amber #D4A252, Slate #7B8794
- Sans-serif typography (Helvetica/Arial), bold titles, regular body
- Colored arrows match their SOURCE section
- Clean, flat, zero decoration

Curated Color Palettes

"Ocean Dusk" (professional, calming — default recommendation): #264653 deep teal, #2A9D8F teal, #E9C46A gold, #F4A261 sandy orange, #E76F51 burnt coral

"Ink & Wash" (for 简笔画 style): #2C2C2C charcoal ink, #D6E4F0 washed blue, #F5DEB3 washed wheat, #D4E6D4 washed sage, #E6DFF0 washed lavender

"Nord" (for modern minimal): #2E3440 polar night, #5E81AC frost blue, #A3BE8C aurora green, #EBCB8B aurora yellow, #BF616A aurora red

"Okabe-Ito" (universal colorblind-safe, required for data charts): #E69F00 orange, #56B4E9 sky blue, #009E73 green, #F0E442 yellow, #0072B2 blue, #D55E00 vermillion, #CC79A7 pink

Checklist

  • Extract from context: Read paper/description, identify entities and relationships
  • Choose visual style (A/B/C/D) — match the paper's tone and venue
  • Choose color palette — or use one consistent with existing paper figures
  • Obtain Gemini API key (GEMINI_API_KEY env var)
  • Write a detailed prompt: style block + layout + connections + constraints
  • Generate script at figures/gen_fig_<name>.py, run for 3 attempts
  • Review, select best, save as figures/fig_<name>.png

Prompt Structure (6 Sections)

Every Gemini prompt must include these sections in order:

1. FRAMING (5 lines): "Create a

---

*Content truncated.*

Search skills

Search the agent skills registry