# Send Paperbanana to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-paperbanana",
    "name": "Paperbanana",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/GoatInAHat/openclaw-paperbanana",
    "canonicalUrl": "https://clawhub.ai/GoatInAHat/openclaw-paperbanana",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/openclaw-paperbanana",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-paperbanana",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "references/providers.md",
      "scripts/evaluate.py",
      "scripts/generate.py",
      "scripts/plot.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-paperbanana"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-paperbanana",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-paperbanana",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-paperbanana/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-paperbanana/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-paperbanana/agent.md"
  }
}
```
## Documentation

### PaperBanana — Academic Illustration Generator

Generate publication-quality academic diagrams and statistical plots from text
descriptions. Uses a multi-agent pipeline (Retriever → Planner → Stylist →
Visualizer → Critic) with iterative refinement.

### Generate a Diagram

uv run {baseDir}/scripts/generate.py \\
  --context "Our framework consists of an encoder module that processes..." \\
  --caption "Overview of the proposed encoder-decoder architecture"

Or from a file:

uv run {baseDir}/scripts/generate.py \\
  --input /path/to/method_section.txt \\
  --caption "Overview of the proposed method"

Options:

--iterations N — refinement rounds (default: 3)
--auto-refine — loop until critic is satisfied (use for final quality)
--aspect RATIO — aspect ratio: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9
--provider gemini|openai|openrouter — override auto-detected provider
--format png|jpeg|webp — output format (default: png)
--no-optimize — disable input optimization (on by default)

### Generate a Plot

uv run {baseDir}/scripts/plot.py \\
  --data '{"model":["GPT-4","Claude","Gemini"],"accuracy":[92.1,94.3,91.8]}' \\
  --intent "Bar chart comparing model accuracy across benchmarks"

Or from a CSV file:

uv run {baseDir}/scripts/plot.py \\
  --data-file /path/to/results.csv \\
  --intent "Line plot showing training loss over epochs"

### Evaluate a Diagram

uv run {baseDir}/scripts/evaluate.py \\
  --generated /path/to/generated.png \\
  --reference /path/to/human_drawn.png \\
  --context "The methodology section text..." \\
  --caption "Overview of the framework"

Returns scores on: Faithfulness, Readability, Conciseness, Aesthetics.

### Refine a Previous Diagram

uv run {baseDir}/scripts/generate.py \\
  --continue \\
  --feedback "Make the arrows thicker and use more distinct colors"

Or continue a specific run:

uv run {baseDir}/scripts/generate.py \\
  --continue-run run_20260228_143022_a1b2c3 \\
  --feedback "Add labels to each component box"

### Setup

The skill auto-installs paperbanana on first use via uv (isolated, no global install). The package is published on PyPI by the llmsresearch team.

Required API keys: This skill requires at least one of the following API keys to function. Configure in ~/.openclaw/openclaw.json:

Env VariableProviderCostNotesGOOGLE_API_KEYGoogle GeminiFree tier availableRecommended starting pointOPENAI_API_KEYOpenAIPaidBest quality (gpt-5.2 + gpt-image-1.5)OPENROUTER_API_KEYOpenRouterPaidAccess to any model

{
  skills: {
    entries: {
      "paperbanana": {
        env: {
          // Option A: Google Gemini (free tier — recommended)
          GOOGLE_API_KEY: "AIza...",

          // Option B: OpenAI (paid, best quality)
          // OPENAI_API_KEY: "sk-...",

          // Option C: OpenRouter (paid, access to any model)
          // OPENROUTER_API_KEY: "sk-or-...",
        }
      }
    }
  }
}

Auto-detection priority: Gemini (free) → OpenAI → OpenRouter. The skill will exit with a clear error if no API key is found.

### Provider Details

For provider comparison, model options, and advanced configuration:
see {baseDir}/references/providers.md

### Privacy & Data Handling

This skill sends user-provided data to external third-party APIs for diagram generation and evaluation:

Text content (context descriptions, captions, feedback) is sent to the configured LLM provider (Gemini, OpenAI, or OpenRouter) for planning and code generation.
Generated images may be sent back to the LLM provider for VLM-based evaluation and refinement.
CSV/JSON data provided for plot generation is sent to the LLM provider for Matplotlib code generation.

Do not use this skill with sensitive, confidential, or proprietary data unless your organization's data policies permit sending that data to the configured provider. All API calls go directly to the provider's endpoints — no intermediate servers are involved.

API keys are injected by OpenClaw from your local config (~/.openclaw/openclaw.json) and are never logged or transmitted beyond the provider's API.

### Dependencies & Provenance

PyPI package: paperbanana (≥0.1.2, installed automatically via uv)
Source: llmsresearch/paperbanana on GitHub
Skill source: GoatInAHat/openclaw-paperbanana on GitHub
Transitive deps: google-genai, openai, matplotlib, Pillow, and others (installed in an isolated uv environment, not globally)

### Behavior Notes

Input optimization is ON by default — enriches context and sharpens captions before generation. Disable with --no-optimize for speed.
Generation takes 1-5 minutes depending on iterations and provider. The script prints progress.
Output is delivered automatically via the MEDIA: protocol — no manual file handling needed.
Run continuation is the natural way to iterate: "make it better" → --continue --feedback "...".
Gemini free tier has rate limits (~15 RPM). Keep iterations ≤ 3 on free tier.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: GoatInAHat
- Version: 0.1.1
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/openclaw-paperbanana)
- [Send to Agent page](https://openagent3.xyz/skills/openclaw-paperbanana/agent)
- [JSON manifest](https://openagent3.xyz/skills/openclaw-paperbanana/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/openclaw-paperbanana/agent.md)
- [Download page](https://openagent3.xyz/downloads/openclaw-paperbanana)