agent-research-aggrega…
Pre-pipeline aggregator that scans AI agent cache directories (.claude, .cursor, .antigravity, .openclaw) or any user-specified…
Step 2 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the visualization plan from outline.json — render plots and conceptual diagrams from experimental_log.md and idea.md, optionally refine via VLM critique loop, and produce context-aware captions. Runs in parallel
Claude Code
$ npx -y skills add Ar9av/PaperOrchestra --skill plotting-agent --agent claude-code
Codex
$ npx skills add Ar9av/PaperOrchestra --skill plotting-agent -a codex -y
Cursor
$ npx skills add Ar9av/PaperOrchestra --skill plotting-agent -a cursor -y
Gemini CLI
$ npx skills add Ar9av/PaperOrchestra --skill plotting-agent -a gemini-cli -y
GitHub Copilot
$ npx skills add Ar9av/PaperOrchestra --skill plotting-agent -a github-copilot -y
OpenCode
$ npx skills add Ar9av/PaperOrchestra --skill plotting-agent -a opencode -y
Windsurf
$ npx skills add Ar9av/PaperOrchestra --skill plotting-agent -a windsurf -y
name: plotting-agent description: Step 2 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the visualization plan from outline.json — render plots and conceptual diagrams from experimental_log.md and idea.md, optionally refine via VLM critique loop, and produce context-aware captions. Runs in parallel with the literature-review-agent. TRIGGER when the orchestrator delegates Step 2 or when the user asks to "generate the figures for my paper" or "render the plots from this experiment log".
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.
the source data
(300 DPI, sized to the requested aspect ratio)
1. **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"
}2. **Few-shot retrieval (visual planning)**: pick the matching pattern from `references/chart-patterns.md` (for `plot_type=="plot"`) or `references/diagram-patterns.md` (for `plot_type=="diagram"`).
3. **Extract data**: parse `idea.md` and/or `experimental_log.md` (`data_source` field tells you which) to obtain the numeric values or conceptual entities the figure needs. For `experimental_log.md`, the `## 2. Raw Numeric Data` section contains markdown tables.
4. **Render**:
**If `PAPERBANANA_PATH` is set** — use the PaperBanana backbone (Zhu et al., 2026). It runs a Retriever → Planner → Stylist → Visualizer → Critic loop and is especially good for `plot_type == "diagram"`. See `references/paperbanana-cookbook.md` for setup (needs a Gemini API key).
python skills/plotting-agent/scripts/paperbanana_render.py \
--figure-id <figure_id> \
--caption "<objective from figure spec>" \
--content-file workspace/inputs/idea.md \
--task <diagram|plot> \
--aspect-ratio <aspect_ratio> \
--out workspace/figures/<figure_id>.png**Otherwise** — write a matplotlib script and run it via your Bash tool, or use the bundled helper:
python skills/plotting-agent/scripts/render_matplotlib.py \
--spec spec.json \
--out workspace/figures/<figure_id>.pngThe script must apply the academic style from `chart-patterns.md`, use the correct pixel size from `aspect-ratios.md`, save at 300 DPI, and call `plt.close()` after `savefig`.
5. **VLM critique loop (optional, only if your host has vision)**:
visual artifacts, mislabeled axes, illegible text, color clashes, misleading scaling, missing legend, overlapping labels.
and re-render. Cap at 3 critique iterations per figure.
PaperBanana. See `references/plotting-pipeline.md` for the full loop description.
figure will still render correctly, just without iterative refinement.
6. **Generate the caption** using the verbatim Caption Generation prompt at `references/caption-prompt.md`. Inputs to the caption prompt:
"Experiments")
the section_plan if the section isn't drafted yet)
actually shows (from your VLM critique pass, or from the script's plan if no vision)
Write the caption to `workspace/figures/captions.json` keyed by `figure_id`. **Captions must NOT contain `Figure N:` or `Caption N:` prefixes** — the LaTeX template handles numbering. Plain text only, no markdown.
For `plot_type == "diagram"`, prefer PaperBanana when available — its Retriever grounds the Planner in real published paper diagrams. If `PAPERBANANA_PATH` is unset, follow `references/diagram-patterns.md`. Patterns include block diagrams, system overviews, flowcharts, and algorithm-as-graph. The bundled helper:
python skills/plotting-agent/scripts/render_diagram.py \
--spec diagram_spec.json \
--out workspace/figures/<figure_id>.pnghandles the simple cases (boxes-and-arrows). For complex Fig-1-style overview diagrams, write matplotlib patches code yourself.
step on conference templates.
enumerated strings. Use the pixel targets in `references/aspect-ratios.md`
A pluggable skill pack that lets any coding agent in Claude Code, Cursor, Antigravity, Cline, Aider, OpenCode, etc. which can run the PaperOrchestra multi-agent pipeline for turning unstructured research materials into a submission-ready LaTeX paper.
Pre-pipeline aggregator that scans AI agent cache directories (.claude, .cursor, .antigravity, .openclaw) or any user-specified…
Step 5 of the PaperOrchestra pipeline (arXiv:2604.05018). Iteratively refine drafts/paper.tex by simulating peer review and…
Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the literature search strategy from outline.json — discover…
Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimental_log.md, template.tex,…
Run the four paper-quality autoraters from PaperOrchestra (arXiv:2604.05018, App. F.3) — Citation F1 (P0/P1 partition +…
Orchestrate the full PaperOrchestra (Song et al., 2026, arXiv:2604.05018) five-agent pipeline to turn unstructured research…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…