plotting-agentlisted
Install: claude install-skill Ar9av/PaperOrchestra
# Plotting Agent (Step 2)
Faithful implementation of the Plotting Agent from PaperOrchestra
(Song et al., 2026, arXiv:2604.05018, §4 Step 2 and App. F.1 p.45).
**Cost: ~20–30 LLM calls.** The paper uses PaperBanana (Zhu et al., 2026) as
the default backbone with a closed-loop VLM-critique refinement. This skill
expresses that loop in host-agent terms: you (the host agent) generate
matplotlib code with your own LLM, render via your Bash/Python tool,
optionally critique the rendered PNG with your vision model, redraw, and
finally caption.
## Inputs
- `workspace/outline.json` — specifically the `plotting_plan` array
- `workspace/inputs/idea.md` and `workspace/inputs/experimental_log.md` —
the source data
- `workspace/inputs/figures/` — optional pre-existing figures (`PlotOn` mode)
## Outputs
- `workspace/figures/<figure_id>.png` — one PNG per `plotting_plan` entry
(300 DPI, sized to the requested aspect ratio)
- `workspace/figures/captions.json` — `{figure_id: caption_text}` map
## Workflow
### Per figure (executed independently per `figure_id`)
1. **Read the figure spec** from `outline.json`:
```json
{
"figure_id": "fig_main_results",
"title": "Main Results on Dataset X",
"plot_type": "plot",
"data_source": "experimental_log.md",
"objective": "Visual summary (Grouped Bar Chart) demonstrating ...",
"aspect_ratio": "5:4"
}
```
2. **Few-shot retrieval (visual planning)**: pick the matching pattern from
`references/chart-pa