Skip to content
Skill

academic-figure-generation

by jxtse

AI Summary

Thin CLI wrapper around PaperBanana (a.k.a. PaperVizAgent), a multi-agent figure-generation pipeline for academic papers. The skill provides exactly one script: . It feeds

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to install the "academic-figure-generation" skill in my project.

Please run this command in my terminal:
# Install skill into your project
mkdir -p .claude/skills/academic-figure-generation && curl --retry 3 --retry-delay 2 --retry-all-errors -o .claude/skills/academic-figure-generation/SKILL.md "https://raw.githubusercontent.com/jxtse/scientific-research-skills/main/skills/academic-figure-generation/SKILL.md"

Then restart Claude Code (or reload the window in Cursor) so the skill is picked up.

Description

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).

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

• 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 ` • Configure configs/model_config.yaml — set the image model and the matching API key. Two common setups: `yaml defaults: image_model_name: "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 api_keys: google_api_key: "..." # required for Gemini models openrouter_api_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.

Step 1: Gather inputs

You need: • Method text: the relevant section of the paper describing the approach (./method.md or ./method.tex). • 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

`bash ~/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 demo_planner_critic 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") |

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 1mo ago
Active
AdoptionUnder 100 stars
48 ★ · Niche
DocsREADME + description
Well-documented

GitHub Signals

Stars48
Forks4
Issues0
Updated1mo ago
View on GitHub
MIT License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code