PaperBanana CC
A Claude Code Skill/Plugin for generating publication-quality academic diagrams and plots.
Built entirely upon PaperBanana — this project re-implements the full pipeline from the original research as a Claude Code-native skill, where Claude Code itself acts as the orchestrating VLM (Vision-Language Model) for every stage: paper analysis, reference retrieval, structured planning, venue-specific styling, and iterative vision-based critique.
Based On
This project is a Claude Code adaptation of the following works:
| Paper | PaperBanana: A Multi-Modal Academic Figure Generation Framework |
| Original Repos | dwzhu-pku/PaperBanana (research prototype) · llmsresearch/paperbanana (production package) |
All prompts, reference datasets, style guides, and pipeline design are derived from the above. PaperBanana CC restructures them into a Claude Code Skill so that Claude Code subscribers can generate academic figures through natural conversation — no separate VLM server or complex setup required.
Why Claude Code?
Claude Code already includes a state-of-the-art VLM with tool use, vision, and long-context capabilities. Instead of running a separate inference server, PaperBanana CC leverages Claude Code as both the reasoning engine and the orchestrator:
- Zero infrastructure — no GPU server, no model downloads, no Docker
- Full context across phases — the Critic can compare the generated image against the original methodology, not just the final prompt
- Interactive refinement — the user confirms direction at each stage via natural conversation
- Plugin distribution — install once, use in any project
Image Generation Options
| Method | Requirement | Best For |
|---|---|---|
| OpenAI API (gpt-image-1) | OPENAI_API_KEY |
Highest quality diagrams |
| Gemini API (Imagen 3) | GOOGLE_API_KEY |
Fast iteration, flexible ratios |
| Manual generation | Any image AI subscription | No API key needed — use ChatGPT, Gemini, or any web-based image generator |
The manual generation mode is designed for users who have a subscription to Google AI Pro, ChatGPT Plus, or similar services but don't want to set up API keys. PaperBanana CC generates the optimized prompt, you paste it into your preferred web UI, and provide the resulting image back for critique.
Pipeline
[Phase 0] Input Enrichment
Methodology text + caption → 7-axis structuring + 6-spec caption enhancement
← User confirms direction
[Phase 1] Reference Retrieval
538 reference examples → 2-axis semantic matching → top-10 with images
← User selects references
[Phase 2] Plan → Style → Generate
Venue (NeurIPS/ICML/ACL/IEEE) + generation method selection
→ 7-item structured plan → venue-specific styling → image generation
Prompt always displayed and saved
[Critic Loop] Iterative Refinement (default 3 rounds)
Claude Code vision critique → revision or completion
← User can provide additional feedback at any point
All phases except image generation are performed directly by Claude Code. Prompts and style guides from the original PaperBanana research are used to instruct Claude Code at each stage.
Installation
Requirements
- Claude Code subscription (Claude Pro / Max / Team)
- uv (for
uvx— Python dependencies are installed automatically) - Optional: OpenAI API key and/or Google API key (not required for manual generation)
Install via Plugin Marketplace
# 0. Install uv (if not installed) — required for image generation
curl -LsSf https://astral.sh/uv/install.sh | sh
# 1. Add marketplace (one-time)
/plugin marketplace add eunsanMountain/paperbanana-cc
# 2. Install plugin
/plugin install paperbanana-cc@paperbanana-marketplace
# 3. (Optional) Set API keys — not required for manual generation mode
echo "OPENAI_API_KEY=sk-..." >> .env
echo "GOOGLE_API_KEY=AI..." >> .env
That's it. No git clone, no uv sync — the plugin loads skills directly, and Python dependencies are fetched on-demand via uvx.
Reference data (~300MB) is downloaded automatically on first run.
Alternative: Local Development
git clone https://github.com/eunsanMountain/paperbanana-cc.git
cd paperbanana-cc && uv sync
claude --plugin-dir ./
Usage
Since Claude Code runs inside your project, PaperBanana CC can read your codebase directly — no copy-pasting needed. Just point it at the relevant source files:
> /paperbanana
Analyze src/model/transformer.py and generate an architecture diagram
showing the data flow from input embedding through the attention layers.
Caption: "Overview of the proposed multi-modal transformer architecture."
Claude Code reads the code, understands the architecture, enriches the context, retrieves similar reference figures, and generates a publication-ready diagram — all within your project's context.
More examples
# Generate from a method description
/paperbanana A 4-layer CNN with batch normalization for image classification
# Create a plot from experimental results
/paperbanana Plot the accuracy comparison from results/ablation.csv
# Analyze multiple files for a system diagram
/paperbanana Read src/pipeline/ and create a data flow diagram of the entire inference pipeline
Supported Venues
| Venue | Diagram Style | Plot Style |
|---|---|---|
| NeurIPS | Clean, minimal, blue-tone | Publication DPI, colorblind-safe |
| ICML | Similar to NeurIPS | Same conventions |
| ACL | NLP-focused conventions | Same conventions |
| IEEE | Two-column optimized | IEEE figure standards |
License
Apache-2.0
Citation
If you use PaperBanana CC in your research, please cite the original paper:
@article{zhu2025paperbanana,
title={PaperBanana: A Multi-Modal Academic Figure Generation Framework},
author={Zhu, Dewei and others},
journal={arXiv preprint arXiv:2601.23265},
year={2025}
}
Acknowledgments
This project is built entirely upon the PaperBanana framework by dwzhu-pku and llmsresearch. All core prompts, reference datasets, evaluation criteria, and style guides originate from their work. PaperBanana CC restructures these into a Claude Code Skill to make the pipeline accessible to Claude Code subscribers without additional infrastructure.
Metadata
Release files for paperbanana-cc 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| paperbanana_cc-0.1.1.tar.gz | 119.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| paperbanana_cc-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 128.9 kB
Release files / paperbanana_cc-0.1.1.tar.gz
| Download URL | paperbanana_cc-0.1.1.tar.gz |
|---|---|
| Size | 119.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd544401a34d32ec2e079f4efa86578ac8629a43110b67e64feec010a4056fe1
|
|
BLAKE2b-256 checksum How to use checksums |
2bd0f2fe32d29c1a10d327f76f49de6fb74b4031e3b0bd96c45335f6644cd178
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / paperbanana_cc-0.1.1-py3-none-any.whl
| Download URL | paperbanana_cc-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9393635ef01b18ccdee8757a3179cbfec535ff699154a732633fc12d9c0a68bb
|
|
BLAKE2b-256 checksum How to use checksums |
8c35fe8d914d1946003f9de82909e33ce0595fd1966e3bc8178380a65107baf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for paperbanana-cc 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.