Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add raja21068/AutoResearch --skill plotting-agentgit clone --depth 1 https://github.com/raja21068/AutoResearchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/raja21068/autoresearch/plotting-agent)<a href="https://agentmods.dev/skills/raja21068/autoresearch/plotting-agent"><img src="https://agentmods.dev/badge/skills/raja21068/autoresearch/plotting-agent/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/raja21068/autoresearch/plotting-agent"><img src="https://agentmods.dev/badge/skills/raja21068/autoresearch/plotting-agent.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00102 | $0.01961 |
| Opus 5 | $0.00051 | $0.00981 |
| Sonnet 5 | $0.00020 | $0.00392 |
| Haiku 4.5 | $0.00010 | $0.00196 |
Grade A, and why
plotting-agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to plotting-agent — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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 theplotting_planarrayworkspace/inputs/idea.mdandworkspace/inputs/experimental_log.md— the source dataworkspace/inputs/figures/— optional pre-existing figures (PlotOnmode)
Outputs
workspace/figures/<figure_id>.png— one PNG perplotting_planentry (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)
-
Read the figure spec from
outline.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" } -
Few-shot retrieval (visual planning): pick the matching pattern from
references/chart-patterns.md(forplot_type=="plot") orreferences/diagram-patterns.md(forplot_type=="diagram"). -
Extract data: parse
idea.mdand/orexperimental_log.md(data_sourcefield tells you which) to obtain the numeric values or conceptual entities the figure needs. Forexperimental_log.md, the## 2. Raw Numeric Datasection contains markdown tables. -
Render:
If
PAPERBANANA_PATHis set — use the PaperBanana backbone (Zhu et al., 2026). It runs a Retriever → Planner → Stylist → Visualizer → Critic loop and is especially good forplot_type == "diagram". Seereferences/paperbanana-cookbook.mdfor setup (needs a Gemini API key).
What ships with it
9 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/aspect-ratios.md 2.0 KB
- references/caption-prompt.md 630 B
- references/chart-patterns.md 6.6 KB
- references/diagram-patterns.md 3.9 KB
- references/paperbanana-cookbook.md 6.0 KB
- references/plotting-pipeline.md 5.8 KB
- scripts/paperbanana_render.py 13 KB runs code
- scripts/render_diagram.py 4.1 KB runs code
- scripts/render_matplotlib.py 7.1 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 168 lines · 102 tokens per session scan A 57bd1e7e18ab
plotting-agent is a skill published in the GitHub repository raja21068/AutoResearch (2 stars, last pushed 3mo ago), licensed MIT. It adds 102 tokens to every session and 1,961 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to plotting-agent, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
plotting-agent
Step 2 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the visualization plan from outline.json — render plots and conceptual diagrams from experimentallog.md and idea.md, optionally refine via VLM critique loop, and produce context-aware captions. Runs in parallel with the literature-review-agent. TRIGGER…
plotting-agent
Step 2 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the visualization plan from outline.json — render plots and conceptual diagrams from experimentallog.md and idea.md, optionally refine via VLM critique loop, and produce context-aware captions. Runs in parallel with the literature-review-agent. TRIGGER…
content-refinement-agent
Step 5 of the PaperOrchestra pipeline (arXiv:2604.05018). Iteratively refine drafts/paper.tex by simulating peer review and applying targeted revisions, with strict accept/revert halt rules, deterministic 0-100 decision bands (Accept/Minor/Major/Reject) that drive a target-met early stop, and a Devil's Advocate…
section-writing-agent
Step 4 of the PaperOrchestra pipeline (arXiv:2604.05018). ONE single multimodal LLM call that drafts the remaining paper sections (Abstract, Methodology, Experiments, Conclusion), extracts numeric values from experimentallog.md into LaTeX booktabs tables, splices the generated figures from Step 2, and merges…
outline-agent
Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimentallog.md, template.tex, conferenceguidelines.md) into a strict JSON outline containing a plotting plan, literature search plan (Intro + Related Work), and section-level writing plan with citation hints. TRIGGER when the orchestrator…
paper-autoraters
Run the four paper-quality autoraters from PaperOrchestra (arXiv:2604.05018, App. F.3) — Citation F1 (P0/P1 partition + Precision/Recall/F1), Literature Review Quality (6-axis 0-100 with anti-inflation rules), SxS Overall Paper Quality (side-by-side), and SxS Literature Review Quality (side-by-side). TRIGGER when the…