jxtse/scientific-research-skills · Archived

academic-figure-generation

Generates publication-quality academic figures (framework diagrams, pipeline illustrations, system architectures, method overviews) from a paper's method text and a target caption, using a local PaperBanana multi-agent pipeline (Retriever → Planner → Stylist → Visualizer → Critic).

First seen May 4, 2026

Installation

$ npx skills add jxtse/scientific-research-skills --skill academic-figure-generation

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jxtse/scientific-research-skills.

npx skills add jxtse/scientific-research-skills

Browse all from jxtse/scientific-research-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 67
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,203 B
  • docs SUMMARY.md 324 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 28 installs

SKILL.md

Academic Figure Generation

Thin CLI wrapper around PaperBanana (a.k.a. PaperVizAgent), a multi-agent figure-generation pipeline for academic papers.

The skill provides exactly one script: scripts/generate.py. It feeds your method text + caption into PaperBanana and writes N candidate PNGs. Model selection and API keys come from PaperBanana's own configs/model_config.yaml — the wrapper does not override them.

One-time setup

  1. Clone PaperBanana somewhere convenient:

``bash git clone https://github.com/dwzhu-pku/PaperBanana.git ~/PaperBanana cd ~/PaperBanana uv venv && uv pip install -r requirements.txt ``

  1. Configure configs/model_config.yaml — set the image model and

the matching API key. Two common setups:

```yaml defaults: imagemodelname: "gemini-3-pro-image-preview" # or "openai/gpt-5.4-image-2" model_name: "gemini-3.1-pro-preview" # text model for Planner/Stylist/Critic

apikeys: googleapikey: "..." # required for Gemini models openrouterapi_key: "" # required for openai/gpt-5.4-image-2 ```

Use Gemini if you have a Google AI key; use GPT-Image-2 via OpenRouter if you have an OpenRouter key. Pick one — there's nothing else to wire up.

Workflow

Step 1: Gather inputs

You need:

  1. Method text: the relevant section of the paper describing the

approach (./method.md or ./method.tex).

  1. Figure caption: the target caption, e.g. `"Figure 1: Overview of

our framework"`.

If the user only gives a vague request, ask:

  • What aspect of the method should the figure focus on?
  • Style? (block diagram, flowchart, pipeline, architecture, comparison)
  • Venue / column width? (ACL ≤ 7.5", NeurIPS single-column 5.5")

Step 2: Generate

~/PaperBanana/.venv/bin/python scripts/generate.py \
  --paperbanana-root ~/PaperBanana \
  --method-file ./method.md \
  --caption "Figure 1: Overview of our framework" \
  --out-dir ./figures/v1 \
  --candidates 3 \
  --aspect-ratio 16:9
Flag Default Notes
--paperbanana-root (required) Path to your PaperBanana checkout
--method-file (required) Method section as a text/markdown file
--caption (required) Target figure caption
--out-dir (required) Where PNGs land
--candidates 3 Independent diagram candidates
--max-concurrent 2 Cap concurrent runs (be gentle on quota)
--exp-mode demo_full Full pipeline (Planner+Stylist+Visualizer+Critic). Use demoplannercritic to skip Stylist, or vanilla for single-shot.
--aspect-ratio 16:9 One of 21:9, 16:9, 3:2, 1:1
--max-critic-rounds 2 Critique → revise loops (early-exits if critic says "No changes needed")

Step 3: Present & iterate

  • Show all candidates to the user.
  • Common refinements: color scheme, layout, label text, font size.
  • Re-run with a tweaked caption or more candidates.

Step 4: Export

  • PNGs are written as candidate0.png, candidate1.png, … in --out-dir.
  • For camera-ready PDFs: magick candidate0.png candidate0.pdf.

Style guidelines

  • Color: consistent, colorblind-friendly palette
  • Fonts: match the paper's body font (Times for ACL/EMNLP,

Helvetica/Arial for many ML venues)

  • Labels: concise; no full sentences inside the diagram
  • Arrows: solid for data flow, dashed for optional / feedback loops
  • Whitespace: don't overcrowd — reviewers skim figures in seconds

Common figure types

Type When to use Key elements
Pipeline / Flowchart Sequential processing Boxes + arrows, L→R or T→B
Architecture System overview Nested boxes, clear module boundaries
Comparison Before/after, baseline vs proposed Side-by-side panels
Ablation Component contributions Bar charts, highlighted rows
Framework High-level conceptual overview Abstract shapes, minimal detail

Troubleshooting

  • 429 RESOURCE_EXHAUSTED on Gemini: monthly Google AI Studio

spending cap hit. Raise it at <https://ai.studio/spend>; or switch imagemodelname to openai/gpt-5.4-image-2 and set OPENROUTERAPIKEY.

  • OpenRouter Client not initialized: OPENROUTERAPIKEY not in env

and openrouterapikey not in yaml.

  • No PNGs in output dir: check out_dir/results.json for the raw

per-candidate response and any error messages.

  • Long latency (>5 min): most wall time is the image model. Lower

--candidates or use --exp-mode vanilla for faster iteration.

Links